以下是有關 Pandas 函數的說明和示例代碼,並保留 HackMD 的格式和相應的輸出結果:
mode()
返回指定軸上值的眾數。
import pandas as pd
data = {'A': [1, 2, 2, 3]}
df = pd.DataFrame(data)
print(df['A'].mode())
# 輸出結果:
# 0 2
# dtype: int64
mul()
將 DataFrame 的值與指定值相乘。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
result = df.mul(2) # 每個值乘以 2
print(result)
# 輸出結果:
# A
# 0 2
# 1 4
# 2 6
ndim
返回 DataFrame 的維數。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.ndim)
# 輸出結果:
# 2
ne()
對不等於指定值的值返回 True,否則返回 False。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.ne(2))
# 輸出結果:
# A
# 0 True
# 1 False
# 2 True
nlargest()
按指定列排序 DataFrame,降序,並返回指定數量的行。
data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
largest = df.nlargest(3, 'A') # 返回前 3 大的值
print(largest)
# 輸出結果:
# A
# 4 5
# 3 4
# 2 3
notna()
找出不是非數字的值。
data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
print(df.notna())
# 輸出結果:
# A
# 0 True
# 1 False
# 2 True
notnull()
找出不是空值的值。
data = {'A': [1, None, 3]}
df = pd.DataFrame(data)
print(df.notnull())
# 輸出結果:
# A
# 0 True
# 1 False
# 2 True
nsmallest()
按指定列排序 DataFrame,升序,並返回指定數量的行。
data = {'A': [5, 2, 3, 4, 1]}
df = pd.DataFrame(data)
smallest = df.nsmallest(3, 'A') # 返回前 3 小的值
print(smallest)
# 輸出結果:
# A
# 4 1
# 1 2
# 2 3
nunique()
返回指定軸上唯一值的數量。
data = {'A': [1, 1, 2, 3]}
df = pd.DataFrame(data)
print(df['A'].nunique())
# 輸出結果:
# 3
pct_change()
返回前一個值與當前值之間的百分比變化。
data = {'A': [100, 200, 300]}
df = pd.DataFrame(data)
print(df.pct_change())
# 輸出結果:
# A
# 0 NaN
# 1 1.0
# 2 0.5
pipe()
將函數應用於 DataFrame。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
def add_one(x):
return x + 1
result = df.pipe(add_one)
print(result)
# 輸出結果:
# A
# 0 2
# 1 3
# 2 4
pivot()
重新塑造 DataFrame。
data = {'date': ['2024-01-01', '2024-01-01', '2024-01-02'],
'variable': ['A', 'B', 'A'],
'value': [1, 2, 3]}
df = pd.DataFrame(data)
pivoted_df = df.pivot(index='date', columns='variable', values='value')
print(pivoted_df)
# 輸出結果:
# variable A B
# date
# 2024-01-01 1.0 2.0
# 2024-01-02 3.0 NaN
pivot_table()
創建電子表格透視表作為 DataFrame。
data = {'date': ['2024-01-01', '2024-01-01', '2024-01-02'],
'variable': ['A', 'B', 'A'],
'value': [1, 2, 3]}
df = pd.DataFrame(data)
pivot_table_df = df.pivot_table(index='date', columns='variable', values='value', aggfunc='sum')
print(pivot_table_df)
# 輸出結果:
# variable A B
# date
# 2024-01-01 1.0 2.0
# 2024-01-02 3.0 NaN
pop()
從 DataFrame 中刪除一個元素。
data = {'A': [1, 2], 'B': [3, 4]}
df = pd.DataFrame(data)
popped = df.pop('B') # 刪除 B 列
print(df)
print(popped)
# 輸出結果:
# A
# 0 1
# 1 2
# 0 3
# 1 4
pow()
將一個 DataFrame 的值提升到另一個 DataFrame 的值的次方。
data1 = {'A': [1, 2, 3]}
data2 = {'B': [2, 2, 2]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
result = df1.pow(df2) # A 的值提升到 B 的值的次方
print(result)
# 輸出結果:
# A
# 0 1
# 1 4
# 2 9
prod()
返回指定軸上所有值的乘積。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.prod())
# 輸出結果:
# A 6
# dtype: int64
product()
返回指定軸上值的乘積。
data = {'A': [1, 2, 3]}
df = pd.DataFrame(data)
print(df.product())
# 輸出結果:
# A 6
# dtype: int64
quantile()
返回指定軸的指定分位數值。
data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
print(df['A'].quantile(0.5)) # 中位數
# 輸出結果:
# 3.0
query()
查詢 DataFrame。
data = {'A': [1, 2, 3, 4]}
df = pd.DataFrame(data)
result = df.query('A > 2') # 查詢 A 大於 2 的行
print(result)
# 輸出結果:
# A
# 2 3
# 3 4
radd()
反向添加一個 DataFrame 的值與另一個 DataFrame 的值。
data1 = {'A': [1, 2, 3]}
data2 = {'B': [4, 5, 6]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
result = df1.radd(df2) # B + A
print(result)
# 輸出結果:
# A
# 0 5
# 1 7
# 2 9
rdiv()
反向除以一個 DataFrame 的值與另一個 DataFrame 的
值。
data1 = {'A': [1, 2, 3]}
data2 = {'B': [4, 5, 6]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
result = df1.rdiv(df2) # B / A
print(result)
# 輸出結果:
# A
# 0 4.000000
# 1 2.500000
# 2 2.000000
以上這些就是熊貓,常用的方法跟屬性!如果有趣可以再進行更加深入的研究歐~
我們三十天的Python的奇幻旅程~~
就這麼結束了~感謝跟我一起旅行的夥伴們~下次見~